Crate matrix_sdk_qrcode
source · [−]Expand description
matrix-sdk-qrcode is a crate to easily generate and parse QR codes for interactive verification using QR codes in Matrix.
Usage
This is probably not the crate you are looking for, it’s used internally in the matrix-sdk.
If you still want to play with QR codes, here are a couple of helpful examples.
Decode an image
use image;
use matrix_sdk_qrcode::{QrVerificationData, DecodingError};
fn main() -> Result<(), DecodingError> {
let image = image::open("/path/to/my/image.png").unwrap();
let result = QrVerificationData::from_image(image)?;
Ok(())
}
Encode into a QR code
use matrix_sdk_qrcode::{QrVerificationData, DecodingError};
use image::Luma;
fn main() -> Result<(), DecodingError> {
let data = b"MATRIX\
\x02\x02\x00\x07\
FLOW_ID\
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\
BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB\
SHARED_SECRET";
let data = QrVerificationData::from_bytes(data)?;
let encoded = data.to_qr_code().unwrap();
let image = encoded.render::<Luma<u8>>().build();
Ok(())
}
Re-exports
Structs
The non-encoded data for the second mode of QR code verification.
The non-encoded data for the third mode of QR code verification.
The non-encoded data for the first mode of QR code verification.
Enums
Error type describing errors that happen while QR data is being decoded.
Error type describing errors that happen while QR data is being encoded.
An enum representing the different modes a QR verification can be in.